This specification relates to providing translation assistance in localizing applications in different languages.
Many software development companies design software applications so that they can be adapted to various languages and regions in order to account for regional differences and technical requirements of their target markets without requiring engineering changes. After the development of such software applications, a process called localization can be performed to, e.g., create different language or regional versions of the same software application. During localization, locale-specific components can be added and text messages displayed in the user interfaces of the application can be translated into the target language. In order to ensure efficiency in translating these text messages into different target languages, software developers can insert message identifiers in places in the source code where text messages are to be placed and maintain a list of all the text messages that are to be used in a source language so that the text messages can be translated into different languages. When these text messages have been translated into a selected target language, the source code can be compiled or built into a version of the application in the selected target language by replacing all the message identifiers in the source code with the translations in the selected language of the corresponding text messages.
Using the above approach, translators may need to translate the text messages by going through a list of text messages stored separately from the application. Further, for some software developers, some of the same text messages may be used in multiple software development projects. The same text message may be translated differently in different software projects, depending on the particular context in which it is used or the translator doing the translation. That is, the translation of a text message in the list of text messages may be changed over time.